package com.dao;

import com.beans.Activites;
import com.utils.HibernateUtils;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class ActivitesDao {

	public ActivitesDao() {

		super();
	}

	// Cette méthode sera utiliser afin d'ajouter une Activités qui peut etre
	// soit un appel d'offre ou un prospect
	public void addActivites(Activites activites) {

		Session session = HibernateUtils.currentSession();

		Transaction tx = session.beginTransaction();

		session.save(activites);
		tx.commit();

		HibernateUtils.closeSession();
	}

	// Cette méthode sera utiliser pour éffectuer des mis à jour au niveau AO et
	// Prospect
	public void updateActivites(Activites activites) {

		Session session = HibernateUtils.currentSession();

		Transaction tx = session.beginTransaction();

		session.save(activites);
		tx.commit();

		HibernateUtils.closeSession();
	}

	// cette méthode nous permettra de lister les appels d'offre et Prospect
	public List<Activites> selectAllActivites() {
		Activites activites = new Activites();
		Session session = HibernateUtils.currentSession();
		Query query = session.createQuery("from Activites");
		List<Activites> list = query.list();
		for (int i = 0; i < list.size(); i++) {
			activites = list.get(i);
		}
		return list;
	}

	// cette méthode nous permettra de Recherche une activité en fonction de son
	// Identifiant
	public Activites findActivites(String activitesId) {

		Session session = HibernateUtils.currentSession();

		Query query = session.createQuery("from Activites where actId='"
				+ activitesId + "'");
		List<Activites> listActivites = query.list();
		return listActivites.get(0);

	}

    //Cette méthode permet de suprimer une activité
    public void deleteActivites(Activites activites) {

        Session session = HibernateUtils.currentSession();

        Transaction tx = session.beginTransaction();

        session.delete(activites);

        tx.commit();
        HibernateUtils.closeSession();

    }
}
